<template>
    <div class="login">



    </div>
  </template>
  
  <script setup>
import { onMounted } from 'vue'
import { useRoute } from 'vue-router'
import { ElMessage } from "element-plus";
import { cgyunlogin} from "@/api/login";
import { useUserStore } from "@/store/modules/user.js";
const router = useRouter();

const route = useRoute()

  onMounted(()=>{

    console.log('code参数',route.query.code)
    // 请求cgyun/login post请求 传递参数code
    cgyunlogin(route.query.code).then(res=>{
      if (res.user) {
          if (!res.user.roles.length && !res.user.is_super) {
            ElMessage.error("您不在角色分组里,请联系超级管理员");
            loading.value = false;
            return;
          }   
          useUserStore().token = res.user.token;
          useUserStore().roles = res.user.roles;
          useUserStore().userName = res.user.username;
          useUserStore().is_super = res.user.is_super;
          useUserStore().tenant_id = res.user.tenant_id;
          useUserStore().role_top = res.user.role_top;
          useUserStore().loginTime = Date.now();
          let roles = useUserStore().roles.find(item => item.name == "老师组")
              if (roles) {
                useUserStore().rolesName = roles.name
              } else {
                if (!useUserStore().roles.length) {
                  useUserStore().rolesName = "未分组"
                  return next('/login');
                } else {
                  useUserStore().rolesName = useUserStore().roles[0].name
                }
              }
          router.push({ path: "/" });
              ElMessage({
                message: "登陆成功",
                type: "success",
              });
          // 如果是超级管理员，直接设置角色为管理组并进入系统
          if (res.user.is_super) {
            useUserStore().rolesName = "管理组";
            router.push({ path: "/" });
            ElMessage({
              message: "登陆成功",
              type: "success"
            });
            return;
          } 
          // 如果角色组里面有角色，则选择第一个角色
          if (res.user.role_top.length > 0) {
            useUserStore().college_id = res.user.role_top[0].id;
          }
        } else {          
          // 处理错误情况
          ElMessage({
            message: res.response.data,
            type: "error",
          });

        }
      console.log(res);
    })
  })
  
  </script>
  
  <style lang="scss" scoped>
  .login {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background-size: cover;
    background-image: url("../assets/images/login-background.jpg");
  }
  </style>
  